The present invention relates generally to the half-toning of images. More particularly, the present invention relates to a method of and system for rendering a halftone by utilizing a pixel-by-pixel comparison of the gray scale image against a blue noise mask.
Many printing devices are not capable of reproducing gray scale images because they are bi-level. As a result, the binary representation of a gray scale image is a necessity in a wide range of applications such as laser printers, facsimile machines, lithography (newspaper printing), liquid crystal displays and plasma panels. Gray scale images are typically converted to binary images using halftone techniques. Halftoning renders the illusion of various shades of gray by using only two levels, black and white, and can be implemented either digitally (facsimile machines, laser printers) or optically (newspaper printing).
Halftoning algorithms are classified into point and neighborhood algorithms according to the number of points from the input gray scale image required to calculate one output point in the output binary image. In the case of digital halftoning, points correspond to pixels. In point algorithms, the halftoning is accomplished by a simple pointwise comparison of the gray scale image against a nonimage, usually aperiodic (but not always) array or mask. For every point in the input image, depending on which point value (the gray scale image or the mask) is larger, either a 1 or 0 is placed respectively at the corresponding location in the binary output image. Halftoning using neighborhood algorithms is not done by simple pointwise comparison, but usually requires filtering operations that involve a number of points from the input gray scale image in order to calculate one point in the output image.
At present, given the existing halftoning algorithms, the choice for a specific halftoning algorithm depends on the target device and always requires a trade-off between image quality and speed. Neighborhood halftoning algorithms result in a good image quality (although the image is not completely artifact free), but they are slow and cannot be optically implemented. That leaves point algorithms as the only choice for optical applications such as newspaper printing. Point algorithms are fast and are suitable for all target devices, but the output usually suffers from artifacts such as periodic artifacts and false contours.
The halftoning system disclosed herein utilizes a point algorithm, and combines the output image quality of neighborhood algorithms with the speed and wide application range of point algorithms. A point algorithm is utilized and the halftoning is achieved by a pixelwise comparison against a nonimage array, called the "blue noise" mask.
The digital halftoning of images with multiple levels, such as gray scale levels, is known in the art. Two major techniques are currently in use. They are the ordered dither and the error diffusion methods. See Digital Halftoning by R. Ulichney, MIT Press, Cambridge, Mass. (1987). See also R. W. Floyd and L. Steinberg, "Adaptive algorithm for spatial gray scale", SID International Symposium Digest of Technical Papers, pps. 36-37. The Floyd and Steinberg paper is directed to the digital halftoning of a gray scale.
The major ordered dither techniques are the clustered-dot dither and dispersed-dot dither techniques. A white noise random dither technique is seldom utilized because it produces the poorest quality image and, of the other two dither techniques, clustered-dot is by far the most used. Both of those techniques are based upon a threshold screen pattern that is of a fixed size. For example, 6.times.6 threshold screens may be compared with the digital input values. If the input digital value is greater than the screen pattern number, a 1 is produced and, if it is less, a 0 value is assigned. A number of levels that can be represented using either technique depends on the size of the screen. For example, a 6.times.6 screen can produce 36 unique levels.
More levels can be achieved with larger patterns, however, a reduction in the effective resolution occurs because of the ability to transition among levels is at a coarser pitch. At the pixel rate of about 300 to 500 per inch, which is the average pixel rate of copiers and laser printers, the pattern artifacts are visible for screen patterns larger than 4.times.4, and, since 16 levels do not provide an adequate precision for typical continuous-tone imagery, a suboptimal resolution is usually obtained.
One solution to such a problem is disclosed by Ulichney in a paper "Dithering with Blue Noise" published in the Proceedings of the IEEE, Vol. 76, No. 1, January 1988. In that article, a method of spatial dithering is described which renders the illusion of continuous-tone pictures on displays that are capable of only producing binary picture elements. The method produces a blue noise pattern high frequency white noise from a filter to provide desirable properties for halftoning. More specifically, Ulichney uses perturbed-weight error diffusion methods which when digitally implemented run at a much slower speed (approximately 100 times slower) than is attainable with the present invention.
Error diffusion techniques, such as that disclosed in the Ulichney IEEE article, are fundamentally different from ordered dither techniques in that there is no fixed screen pattern. Rather, a recursive algorithm is used that attempts to correct errors made by representing the continuous signal by binary values.
The error diffusion method described by Ulichney, and others, such as Floyd and Steinberg, also has the disadvantage that it requires scanning, convolution-style calculations and, although it can be implemented for use with copiers, facsimile machines, etc., requires local calculations. It cannot, however, be optically implemented. In addition, all error diffusion techniques, including those described by Ulichney and Floyd and Steinberg, show scanning and start-up artifacts, which are not present in the instant invention. Also, while Ulichney describes a method that produces blue noise, the blue noise patterns produced by the present invention are more isotropic than those produced by Ulichney or other error diffusion methods. Utilizing ordered dither methods produces notably periodic patterns that are even much more obtrusive than those produced by error diffusion methods.
In some prior art systems, all dot profiles corresponding to different gray levels were derived independently, as if each grade level was its own special case. Thus, for example, in U.S. Pat. No. 4,920,501, to Sullivan et al., many individual dot profiles, corresponding to the desired number of gray levels, must be stored. In the present invention, on the other hand, dot profiles are built "on top of" the profiles from lower gray levels, such that a single valued 2-dimensional function, that is, the cumulative array or blue noise mask, can be constructed. When that single valued function is thresholded at any level, the resulting binary pattern is exactly the blue noise dot profile design for that particular gray level, p(i,j,g), where p can be one or zero corresponding to black or white, i and j are coordinates of pixels, and g represents a gray level 0&lt;g&lt;1.
Another drawback to prior art methods is that the dot profile for a given gray level was designed to have blue noise properties by indirect methods, such as using an error diffusion filter with perturbed weights (Ulichney) or by a "simulated annealing" algorithm, as in U.S. Pat. No. 4,920,501. The method disclosed herein is advantageous with respect to the prior art in that the desired blue noise power spectrum is produced through the use of a filter on the dot profile and is implemented directly in the transform domain. Such filtering results in a nearly ideal blue noise pattern with implicit longscale periodicity because of the circular convolution implicit in the use of discrete Fourier transforms. However, the filtered pattern is no longer binary. Thus, a minimization of error approach is utilized in which the largest differences between the ideal, filtered, blue noise pattern and the unfiltered dot profile are identified. The magnitude and location of those differences indicate the pixels in which ones and zeros could be changed to produce a more ideal blue noise dot profile.